Ambientweather.net API support
-
- Advisor
- Posts: 60
- Joined: Sun Dec 24, 2017 2:22 pm
- Station model: AW WS-2000ish
- Software: Meteobridge/OIP/GW-1000
- Contact:
Ambientweather.net API support
Hello,
AW is looking for testers for it's work in progress API. With all the trouble WU has had these past few weeks, this looks like a good place to get good data in the future. Is there any plans to support the API when the work is complete, or maybe participate in the development of the API?
thanks
Mike
AW is looking for testers for it's work in progress API. With all the trouble WU has had these past few weeks, this looks like a good place to get good data in the future. Is there any plans to support the API when the work is complete, or maybe participate in the development of the API?
thanks
Mike
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Hi Mike,
not sure how I could participate in the development, but I cant tell if MT will support it or not until it is finished and I see what it provides and most importantly - how many people would use it
not sure how I could participate in the development, but I cant tell if MT will support it or not until it is finished and I see what it provides and most importantly - how many people would use it
-
- Advisor
- Posts: 60
- Joined: Sun Dec 24, 2017 2:22 pm
- Station model: AW WS-2000ish
- Software: Meteobridge/OIP/GW-1000
- Contact:
Re: Ambientweather.net API support
Thanks, as bad as WU has been these last 2 weeks, I would certainly switch over if you are able to add it. It sounds like it would be a JSON call to the server then push the results to MySQL. If you are interested, Ed from AW has set up a FB group at https://www.facebook.com/groups/14169175316731 for it.
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Hi,
I will wait until it is complete and there is some documentation. Then I will have a look at whether it would be technically possible and whether it provides everything that is needed and then I will ask and if there is enough interest I will try to implement it.
I will wait until it is complete and there is some documentation. Then I will have a look at whether it would be technically possible and whether it provides everything that is needed and then I will ask and if there is enough interest I will try to implement it.
- Dehatter
- Professional
- Posts: 349
- Joined: Sun Jan 07, 2018 5:11 am
- Location: Matthews, NC, USA
- Station model: Ecowitt WH80
- Software: Ecowitt GW1000
- Contact:
Re: Ambientweather.net API support
I will assist in ANY way possible...or otherwise sit and wait.
In any case, I am happy to add my name to the list of interested parties.
In fact, I was going to try and work out a meteobridge solution, but others have given me some negative results for my station. For $20, I was going to try anyway.
Tom
In any case, I am happy to add my name to the list of interested parties.
In fact, I was going to try and work out a meteobridge solution, but others have given me some negative results for my station. For $20, I was going to try anyway.
Tom
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Im happy to look at it, but I would need some clear documentation about how to implement it and then see how many ppl would be interested
-
- Newbie
- Posts: 8
- Joined: Mon Jan 28, 2019 9:36 pm
- Station model: WS-2902A
- Software: WU
- Contact:
Re: Ambientweather.net API support
Hi guys,
I would definetely be interested in a plugin to use this API as it seems that it will take the middle man out of the picture (WU).
I would definetely be interested in a plugin to use this API as it seems that it will take the middle man out of the picture (WU).
- jennajon
- Newbie
- Posts: 5
- Joined: Sun Dec 10, 2017 3:05 pm
- Location: Ellsworth, ME USA
- Station model: Davis Vantage Pro 2 Plus
- Software: WeatherCat *Mac*
- Contact:
Re: Ambientweather.net API support
Count me in on this plugin too....I will be removing my station from WU prior to the February API deadline. I have been with WU for over 15 years in various locations, and I am fed up with the constant degradation of the service to those who provided weather information to them for so many years.
- LOBWX
- Forecaster
- Posts: 104
- Joined: Sun Mar 11, 2018 6:43 pm
- Location: Los Osos, CA
- Station model: Ambient WS 1401-IP
- Software: MeteoBridge
- Contact:
Re: Ambientweather.net API support
Just BE NICE! That's all it takes to be a decent human...
-
- Newbie
- Posts: 8
- Joined: Mon Jan 28, 2019 9:36 pm
- Station model: WS-2902A
- Software: WU
- Contact:
Re: Ambientweather.net API support
I read through that, the problem is I cannot understand how to import these to meteotemplate. I got myself an application API Key and an api key. It gives me the data. I just do not know how to import these. Ambientweather.net had realtime data available which is way better than WU.
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
This is the wiki I found for this:
https://github.com/ambient-weather/api-docs/wiki
Either Im blind or there is nothing....
https://github.com/ambient-weather/api-docs/wiki
Either Im blind or there is nothing....
- dmgould
- Forecaster
- Posts: 173
- Joined: Sat Aug 26, 2017 2:43 am
- Location: Divide, Colorado, USA
- Station model: Davis Pro 2 Plus Wireless
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Is this what you are looking for?
https://github.com/ambient-weather/api-docs
https://ambientweather.docs.apiary.io/# ... altime-api
https://github.com/ambient-weather/api-docs
https://ambientweather.docs.apiary.io/# ... altime-api
Dave G
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Hi,
ok, given I do not have an Ambient station I would need someone to send me the URL of their station data, i.e. the API URL + the api key and the output (AFAI understood it) should be in JSON format. If that worked I can imagine making this compatible with MT.
ok, given I do not have an Ambient station I would need someone to send me the URL of their station data, i.e. the API URL + the api key and the output (AFAI understood it) should be in JSON format. If that worked I can imagine making this compatible with MT.
- LOBWX
- Forecaster
- Posts: 104
- Joined: Sun Mar 11, 2018 6:43 pm
- Location: Los Osos, CA
- Station model: Ambient WS 1401-IP
- Software: MeteoBridge
- Contact:
Re: Ambientweather.net API support
Not sure if this is what you want but I will give it a try. Or perhaps someone already gave you the information you needed.Jachym wrote: ↑Sun Feb 03, 2019 7:28 am Hi,
ok, given I do not have an Ambient station I would need someone to send me the URL of their station data, i.e. the API URL + the api key and the output (AFAI understood it) should be in JSON format. If that worked I can imagine making this compatible with MT.
Same station two different outputs. One is Meteobride and the other is the Ambient OIP.
https://api.ambientweather.net/v1/devic ... 32f742abf7
Code: Select all
[
{
"macAddress":"18:D6:C7:58:D2:A0",
"lastData":{
"dateutc":1549378980000,
"winddir":299,
"windspeedmph":14.1,
"windgustmph":32.7,
"maxdailygust":32.7,
"windgustdir":327,
"winddir_avg2m":195,
"windspdmph_avg2m":12.3,
"winddir_avg10m":278,
"windspdmph_avg10m":13.2,
"tempf":46.4,
"humidity":79,
"uv":0,
"solarradiation":0,
"baromrelin":29.87,
"baromabsin":29.77,
"tempinf":66.2,
"humidityin":51,
"hourlyrainin":0,
"dailyrainin":0.05,
"monthlyrainin":1.65,
"yearlyrainin":5.85,
"battin":"0",
"battout":"0",
"feelsLike":40.27,
"dewPoint":40.25,
"lastRain":"2019-02-05T14:13:00.000Z",
"date":"2019-02-05T15:03:00.000Z"
},
"info":{
"location":"LOBWX.com",
"name":"WEATHERBRIDGE"
}
},
{
"macAddress":"00:0E:C6:30:0A:66",
"lastData":{
"dateutc":1549378980000,
"winddir":294,
"windspeedmph":7.61,
"windgustmph":7.61,
"maxdailygust":32.66,
"tempf":46.4,
"battout":"1",
"humidity":78,
"hourlyrainin":0,
"eventrainin":1.65,
"dailyrainin":0.05,
"weeklyrainin":0.69,
"monthlyrainin":1.65,
"yearlyrainin":5.85,
"totalrainin":5.85,
"tempinf":66,
"battin":"1",
"humidityin":51,
"baromrelin":29.97,
"baromabsin":29.83,
"uv":0,
"solarradiation":0,
"feelsLike":42.56,
"dewPoint":39.92,
"lastRain":"2019-02-05T13:20:00.000Z",
"date":"2019-02-05T15:03:00.000Z"
},
"info":{
"location":"6-12-2018",
"name":"OIP attached to WB"
}
}
Last edited by LOBWX on Tue Feb 05, 2019 3:09 pm, edited 1 time in total.
Just BE NICE! That's all it takes to be a decent human...
-
- Professional
- Posts: 431
- Joined: Tue Feb 27, 2018 10:56 pm
- Location: OKLAHOMA, USA
- Station model: Ecowitt WS90
- Software: Meteobridge/GW2000B
- Contact:
Re: Ambientweather.net API support
I have a Ambient WS2902. Not sure what AFAI is but let me know. I will send access info in private is you don't have it anymore.Jachym wrote: ↑Sun Feb 03, 2019 7:28 am Hi,
ok, given I do not have an Ambient station I would need someone to send me the URL of their station data, i.e. the API URL + the api key and the output (AFAI understood it) should be in JSON format. If that worked I can imagine making this compatible with MT.
- LOBWX
- Forecaster
- Posts: 104
- Joined: Sun Mar 11, 2018 6:43 pm
- Location: Los Osos, CA
- Station model: Ambient WS 1401-IP
- Software: MeteoBridge
- Contact:
Re: Ambientweather.net API support
AFAI
As Far As I understand
As Far As I understand
Just BE NICE! That's all it takes to be a decent human...
-
- Newbie
- Posts: 8
- Joined: Mon Jan 28, 2019 9:36 pm
- Station model: WS-2902A
- Software: WU
- Contact:
Re: Ambientweather.net API support
My details are
https://api.ambientweather.net/v1/devic ... c3cca28873
If we could set this up as the WU database update is setup it would be perfect!
https://api.ambientweather.net/v1/devic ... c3cca28873
If we could set this up as the WU database update is setup it would be perfect!
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
OK, the output looks usable. One thing I need to know, there is for example a parameter with barometric pressure in inHg. Is there also a possibility this would be called something different and be in hPa? I need to see all the possible ways the output can look so that the script always knows what to do with it.
- LOBWX
- Forecaster
- Posts: 104
- Joined: Sun Mar 11, 2018 6:43 pm
- Location: Los Osos, CA
- Station model: Ambient WS 1401-IP
- Software: MeteoBridge
- Contact:
Re: Ambientweather.net API support
Umm is this what you're looking for?
http://www.awesomescreenshot.com/image/ ... 66a0a473af
If not im pretty sure you could find an answer here https://www.facebook.com/groups/141691753167314/ Im not JSON literate.
http://www.awesomescreenshot.com/image/ ... 66a0a473af
If not im pretty sure you could find an answer here https://www.facebook.com/groups/141691753167314/ Im not JSON literate.
Just BE NICE! That's all it takes to be a decent human...
-
- Newbie
- Posts: 8
- Joined: Mon Jan 28, 2019 9:36 pm
- Station model: WS-2902A
- Software: WU
- Contact:
Re: Ambientweather.net API support
I changed the barometer unit to inHG so you can have a look at the link https://api.ambientweather.net/v1/devic ... c3cca28873
- Jachym
- Site Admin
- Posts: 1686
- Joined: Fri Aug 18, 2017 10:12 pm
- Location: Brno, Czech Republic
- Station model: WH1080
- Software: Meteobridge
- Contact:
Re: Ambientweather.net API support
Is there any document that would be a documentation of the API? I.e. clearly list all the possible outputs?
- LOBWX
- Forecaster
- Posts: 104
- Joined: Sun Mar 11, 2018 6:43 pm
- Location: Los Osos, CA
- Station model: Ambient WS 1401-IP
- Software: MeteoBridge
- Contact:
Re: Ambientweather.net API support
I found this.
https://github.com/ambient-weather/api- ... Data-Specs
This lists all the parameters that a device might send. Note: Not all devices send all the parameters.
https://github.com/ambient-weather/api- ... Data-Specs
This lists all the parameters that a device might send. Note: Not all devices send all the parameters.
Code: Select all
winddir - instantaneous wind direction, 0-360º
windspeedmph - instantaneous wind speed, mph
windgustmph - max wind speed in the last 10 minutes, mph
maxdailygust - Maximum wind speed in last day, mph
windgustdir - Wind direction at which the wind gust occurred, 0-360º
windspdmph_avg2m - Average wind speed, 2 minute average, mph
winddir_avg2m - Average wind direction, 2 minute average, mph
windspdmph_avg10m - Average wind speed, 10 minute average, mph
winddir_avg10m - Average wind direction, 10 minute average, 0-360º
humidity - Outdoor Humidity, 0-100%
humidity1...humidity10 - humidity 1...10, 0-100%
humidityin - Indoor Humidity, 0-100%
tempf - Outdoor Temperature, ºF
temp1f...temp10f - Temperature 1...10, ºF
soiltemp1f...soiltemp10f - Temperature 1...10, ºF
soilhum1...soilhum10 - Temperature 1...10, %
tempinf - Indoor Temperature, ºF
battout - Good/Bad indication, String, 1=Good, 0=Bad
batt1...batt10 - Good/Bad indication, String, 1=Good, 0=Bad
hourlyrainin - Hourly Rain Rate, in/hr
dailyrainin - Daily Rain, in
24hourrainin - 24 Hour Rain, in
weeklyrainin - Weekly Rain, in
monthlyrainin - Monthly Rain, in
yearlyrainin - Yearly Rain, in
eventrainin - Event Rain, in
totalrainin - Total Rain, in (since last factory reset)
baromrelin - Relative Pressure, inHg
baromabsin - Absolute Pressure, inHg
uv - Ultra-Violet Radiation Index, integer on all devices EXCEPT WS-8478.
solarradiation - Solar Radiation, W/m^2
co2 - CO2 Meter, ppm
relay1...relay10 - Relay 1...10, 0 or 1
dateutc - Date, int (milliseconds from 01-01-1970, rounded down to nearest minute on server)
Server calculated fields:
lastRain - Last time hourlyrainin > 0, date (calculated on server)
dewPoint - Dew Point, ºF (calculated on server)
feelsLike - if < 50ºF => Wind Chill, if > 68ºF => Heat Index (calculated on server)
date - Human Readable Date, string (converted on server from dateutc)
Just BE NICE! That's all it takes to be a decent human...
-
- Forecaster
- Posts: 165
- Joined: Thu Jan 23, 2020 4:00 pm
- Location: Fort Myers
- Station model: WS-5000/GW1100
- Software: ECOWITT Plugin
- Contact:
Re: Ambientweather.net API support
What happen to this? I too am very interested here AW is faster and with WU i am missing some data. I would like battery percent which AW sends in API
I have modified some files to be able to add AW to weatherNetworks which now works as a work around for that.
I am sure this would be a great update a lot of people use AW Stations
I dont mind being a ginnie pig or modifying code manually.
I have modified some files to be able to add AW to weatherNetworks which now works as a work around for that.
I am sure this would be a great update a lot of people use AW Stations
I dont mind being a ginnie pig or modifying code manually.
-
- Forecaster
- Posts: 165
- Joined: Thu Jan 23, 2020 4:00 pm
- Location: Fort Myers
- Station model: WS-5000/GW1100
- Software: ECOWITT Plugin
- Contact:
Re: Ambientweather.net API support
I found this I just am not good enough to do something with it realtime would be nice
Code: Select all
FORMAT: 1A
HOST: https://api.ambientweather.net/
# Ambient Weather REST API
Access an Ambient Weather user's weather station data programmatically using our REST API
##### Authentication
Two API Keys are required for all REST API requests:
+ `applicationKey` - identifies the developer / application. To create an application key please login to your AmbientWeather.net account page (https://dashboard.ambientweather.net/account)
+ `apiKey` - grants access to past/present data for a given user's devices. A typical consumer-facing application will initially ask the user to create an `apiKey` on thier AmbientWeather.net account page (https://dashboard.ambientweather.net/account) and paste it into the app. Developers for personal or in-house apps will also need to create an apiKey on their own account page.
##### Rate Limiting
API requests are capped at 1 request/second for each user's apiKey and 3 requests/second per applicationKey. When this limit is exceeded, the API will return a 429 response code. Please be kind to our servers :)
##### Helper Libraries
+ Node.js - https://github.com/owise1/ambient-weather-api
+ PHP (Laravel) - https://github.com/Jafo232/ambient_api
+ Go - https://github.com/lrosenman/ambient
+ Python - https://github.com/avryhof/ambient_api
+ Python (asyncio) - https://github.com/bachya/aioambient
+ R - https://github.com/andrewflack/ambientweatheR
##### Other Resources
+ API Wiki - https://github.com/ambient-weather/api-docs/wiki
+ This documentation's repository - https://github.com/ambient-weather/api-docs
## Devices [/v1/devices{?apiKey,applicationKey}]
### List User's Devices [GET]
Provides a list of the user's available devices along with each device's most recent data.
+ Parameters
+ applicationKey (required) - Application Key
+ apiKey (required) - API Key for user account
+ Response 200 (application/json)
[
{
"macAddress": "00:00:00:00:00:00",
"info": {
"name": "My Weather Station",
"location": "Home"
},
"lastData": {
"dateutc": 1515436500000,
"date": "2018-01-08T18:35:00.000Z",
"winddir": 58,
"windspeedmph": 0.9,
"windgustmph": 4,
"maxdailygust": 5,
"windgustdir": 61,
"winddir_avg2m": 63,
"windspdmph_avg2m": 0.9,
"winddir_avg10m": 58,
"windspdmph_avg10m": 0.9,
"tempf": 66.9,
"humidity": 30,
"baromrelin": 30.05,
"baromabsin": 28.71,
"tempinf": 74.1,
"humidityin": 30,
"hourlyrainin": 0,
"dailyrainin": 0,
"monthlyrainin": 0,
"yearlyrainin": 0,
"feelsLike": 66.9,
"dewPoint": 34.45380707462477
}
}
]
## Device Data [/v1/devices/{macAddress}{?apiKey,applicationKey,endDate,limit}]
+ Parameters
+ macAddress (required) - device Mac Address
+ apiKey (required) - API Key for user account
+ applicationKey (required) - Application Key
+ endDate (optional) - The most recent datetime. Results descend from there. If left blank, the most recent results will be returned. Date format should be in milliseconds since the epoch or string representations outlined here: https://momentjs.com/docs/#/parsing/string/. Note: datetimes are stored in UTC.
+ limit (optional, number) - The maximum number of results to return (max: 288)
+ Default: 288
### Query Device Data [GET]
Fetch data for a given device. Data is stored in 5 or 30 minute increments. A list of all possible fields is here: https://github.com/ambient-weather/api-docs/wiki/Device-Data-Specs
+ Response 200 (application/json)
[
{
"dateutc": 1515436500000,
"date": "2018-01-08T18:35:00.000Z",
"winddir": 58,
"windspeedmph": 0.9,
"windgustmph": 4,
"maxdailygust": 5,
"windgustdir": 61,
"winddir_avg2m": 63,
"windspdmph_avg2m": 0.9,
"winddir_avg10m": 58,
"windspdmph_avg10m": 0.9,
"tempf": 66.9,
"humidity": 30,
"baromrelin": 30.05,
"baromabsin": 28.71,
"tempinf": 74.1,
"humidityin": 30,
"hourlyrainin": 0,
"dailyrainin": 0,
"monthlyrainin": 0,
"yearlyrainin": 0,
"feelsLike": 66.9,
"dewPoint": 34.45380707462477
}
]
# Group Ambient Realtime API
Access an Ambient Weather user's weather station data in realtime using our Realtime API
##### Authentication
You will be working with two types of keys when using the Realtime API:
+ `applicationKey` - identifies the developer / application. This key is passed to the server when you make the initial connection
+ `apiKey` - identifies a user. This key grants read-only access to all of the devices for a given user. It is used in the `subscribe` command (see below)
##### Websockets
The realtime API uses Websockets and is based on Socket.io (https://socket.io/). The easiest way to use the API is to use a Socket.io helper library. They are available in most languages.
Socket.io Endpoint: `https://rt.ambientweather.net/?api=1&applicationKey=....`
Note the query parameters `api=1` to identify the api version and `applicationKey=....` to identify your application
Upon successful connection, you'll send commands and listen for responses.
##### Helper Libraries
+ Node.js - https://github.com/owise1/ambient-weather-api
###### Command: connect
Connect to the Realtime API
###### Command: disconnect
Disconnect from the Realtime API
###### Command: subscribe
Listen for new data from all the devices for users' apiKeys.
command body - an object containing the property apiKeys that is an array of apiKeys:
```
{
apiKeys:
[
'multiple',
'apiKeys',
'are fine'
]
}
```
###### Command: unsubscribe
Stop listening for new data from all the devices for users' apiKeys.
command body - an object containing the property apiKeys that is an array of apiKeys:
```
{
apiKeys:
[
'multiple',
'apiKeys',
'are fine'
]
}
```
##### Event: subscribed
`subscribed` events are emitted after you send a `subscribe` or `unsubscribe` command. It will list all of the devices you are currently subscribed to and, if applicable, will return apiKeys that are not valid.
event body - an object containing one or more properties
+ `devices` - an array containing objects for all of the devices you are currently subscribed to
+ `invalidApiKeys` - an array of apiKeys that aren't valid
```
{
devices:
[
{
"macAddress": "00:00:00:00:00:00",
"info": {
"name": "My Weather Station",
"location": "Home"
},
"lastData": {
"dateutc": 1515436500000,
"date": "2018-01-08T18:35:00.000Z",
"winddir": 58,
"windspeedmph": 0.9,
"windgustmph": 4,
"maxdailygust": 5,
"windgustdir": 61,
"winddir_avg2m": 63,
"windspdmph_avg2m": 0.9,
"winddir_avg10m": 58,
"windspdmph_avg10m": 0.9,
"tempf": 66.9,
"humidity": 30,
"baromrelin": 30.05,
"baromabsin": 28.71,
"tempinf": 74.1,
"humidityin": 30,
"hourlyrainin": 0,
"dailyrainin": 0,
"monthlyrainin": 0,
"yearlyrainin": 0,
"feelsLike": 66.9,
"dewPoint": 34.45380707462477
},
"apiKey": "the_apiKey_for_the_user_this_device_belongs_to"
}
]
invalidApiKeys:
[
'an_api_key_that_is_not_any_good'
]
}
```
##### Event: data
`data` events are emitted when a device you are subscribed to sends new data. The data contains a `macAddress` property that you can use to match against the device list supplied by the `subscribed` event
event body - an object representing a device's data point
```
{
"macAddress": "00:00:00:00:00:00",
"dateutc": 1515436500000,
"date": "2018-01-08T18:35:00.000Z",
"winddir": 58,
"windspeedmph": 0.9,
"windgustmph": 4,
"maxdailygust": 5,
"windgustdir": 61,
"winddir_avg2m": 63,
"windspdmph_avg2m": 0.9,
"winddir_avg10m": 58,
"windspdmph_avg10m": 0.9,
"tempf": 66.9,
"humidity": 30,
"baromrelin": 30.05,
"baromabsin": 28.71,
"tempinf": 74.1,
"humidityin": 30,
"hourlyrainin": 0,
"dailyrainin": 0,
"monthlyrainin": 0,
"yearlyrainin": 0,
"feelsLike": 66.9,
"dewPoint": 34.45380707462477
}
```
-
- Newbie
- Posts: 6
- Joined: Sun Sep 15, 2019 1:50 am
- Location: Mulberry
- Station model: WS-2902a
- Software: AW
- Contact:
Re: Ambientweather.net API support
I'd love to see this happen.. and if the lightening sensor data could be added too..