Bitcoin Forum
December 13, 2024, 08:14:39 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 [2278] 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 ... 2557 »
  Print  
Author Topic: NXT :: descendant of Bitcoin - Updated Information  (Read 2761621 times)
opticalcarrier
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
March 18, 2014, 02:04:46 PM
 #45541

If POS isn't profitable and owning Nxt is not profitable and only owning assets are profitable, no one will be around to develop the asset owning system into the future.

The future is not something we can easily predict - but if you have a choice of two platforms:

1. Fee of 1%
2. Fee of 0.01 USD

which are users going to "flock to"?

In the end it is only the "users" that matter - not peoples wishes and desires to "get rich".


*sigh*  ill say it again.  I've had just a few people back me up, but no one yet to say why its a bad idea, if it truly is...

I view the fee as a blockchain spam deterrent, any possible ROI is secondary IMHO.  We don't have any major activity on the blockchain at the moment.  All is relatively quiet, but that will change as services are added and merchants begin to use NXT for payment.  After only a few short months of very little activity the full blockchain is already over 50 megs on disk.

I think the fee should only be changed if the price of NXT goes up significantly.  My 0.25 NXT minimum fee vote was based on the thought of 1 NXT going to the stable range of $0.15 to ~$0.30 cents US in the next six months.

I still say trying to tie the fee to some FIAT is the wrong direction.  Ill say it again - a transactions's fee should be tied to its byte size on the blockchain.  So lets say a NXT transfer is 128bytes, and its fee is .1NXT, so then an AM or alias transaction of size 256bytes should then cost .2NXT, and other transaction types follow the same method of fee determination.  We would determine a "base" transaction that is the smallest possible transaction, and set the .1 NXT fee to it.  (or .01 or .05 or whatever the community decides) and then scale every other transaction's fee to be based on its size compared to the base one.
But no one likes my idea.  Embarrassed

This proposal will require a bit more code; but for the moment I think a straight .1 NXT for all works, as it will encourage more use for now.
bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 18, 2014, 02:08:53 PM
 #45542

I like your idea and CfB wrote about it, too.

Let's discuss!
opticalcarrier
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
March 18, 2014, 02:11:15 PM
 #45543

Anyone know if someone giving out assets would be able to change the number of assets?  Anyone know?

I'd like to issue assets and destroy them on the fly so that the block chain can record exactly how many assets have been issued.

mmmhh, send it to the genesis account? Clients should look up which assets the genesis account owns and subtract the amount from the asset amount available on Nxt.

I think itd be a good idea for the system to be able to completely purge an asset from the blockchain if all of its qty is sent to genesis block.  then someone should be able to reissue the same name/ID.  OF course this will require a good bit of code, so mayby its not that urgent right now, Id prefer to see ability to split NXT down to 8 decimal places first, reduced fees, and also leased effectiveBalance and account control first.
mcjavar
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile
March 18, 2014, 02:12:15 PM
 #45544

Good afternoon people. Could somebody explain to me the following:

Somebody (j777) issues asset "BTC" in AE. Gateways is working, technically it is possible to sell and buy BTC in AE.

But I also have real BTC and want to sell them for NXT in AE. As it is already "BTC" issued in AE not by me and I'm not an owner of this asset, how my real BTC will appear in AE and I can trade them? Will I need to issue "BTC1"? This question is also for some other "universal" assets.

Did I miss something or do I need to go for beauty sleep for a while? Smiley
You can deposit your real BTC with any NXT gateway using whatever method they have. For multigateway, once you get a deposit address, you just send your real BTC to that bitcoin address and it will appear in AE with the corresponding amount of multigateway BTC.

Alternatively, you could create a BTC asset and list it and convince people that you really do have the BTC and you really will redeem it when they want and then sell it on the AE.

The 1000 NXT fee will discourage the second approach as issuing and maintaining any real asset is a lot of work and should not be undertaken lightly. If it only cost a few NXT, then some people will try to issue their own assets and it will become quite a mess.

Look at the work Anon136 is putting in for his silver asset. There are entire companies that are being created to become an asset!

James

Ok, Thank you for explanation. But what about other "universal" assets, which is not related with cryptos and gateways? For example, I want to trade "salt" in AE. I issue asset "salt" with quantity of 1000. Sometime all 1000 of "salt" is sold, and I want to add "more" salt to AE. It will be "Salt1"? What if my competitor also has the same "salt" and wants to trade it in AE?

While debate about asset naming started, could somebody answer and/or explain my thoughts?
You should have issued enough assets to cover all the salt you thought you would ever use and put the issued but uncollateralized assets in holding. Maybe I need to create an asset holding service to allow people to do incremental issuing of assets. That would make it much easier to do this without being accused of fractional reserving

It seems that decisions are being made behind closed doors against my advice on the Asset Naming and we are about to get identical names implemented, even though we can never go back from that. We could always do the reverse, but it seems that I am too busy coding now that I am out of the loop on the key decisions.

So, your Salt will appear as Salt 72857 and competitors salt will be Salt 94893 and that will magically instill an urge into every salt purchaser to conduct a due diligence research into which Salt is better and why the price is difference, etc. No chance of it confusing the user at all, we all know how much people like to investigate things thoroughly before they purchase $2 worth of salt

James

Allowing the issuance of assets with the same name will most probably hinder us to sell our assets on the Nxt AE as we don´t want to have anyone creating assets with the same name as ours. We will work hard to get our shit together and to convince the community that our shares are worth buying, but if anyone can come and issue assets with the same name, we will most probably not use Nxt as scamming would harm our reputation, too.


EDIT: I am talking about a real life project we would like to fund using Nxt.
martismartis
Legendary
*
Offline Offline

Activity: 1162
Merit: 1005


View Profile
March 18, 2014, 02:14:29 PM
 #45545

Good afternoon people. Could somebody explain to me the following:

Somebody (j777) issues asset "BTC" in AE. Gateways is working, technically it is possible to sell and buy BTC in AE.

But I also have real BTC and want to sell them for NXT in AE. As it is already "BTC" issued in AE not by me and I'm not an owner of this asset, how my real BTC will appear in AE and I can trade them? Will I need to issue "BTC1"? This question is also for some other "universal" assets.

Did I miss something or do I need to go for beauty sleep for a while? Smiley
You can deposit your real BTC with any NXT gateway using whatever method they have. For multigateway, once you get a deposit address, you just send your real BTC to that bitcoin address and it will appear in AE with the corresponding amount of multigateway BTC.

Alternatively, you could create a BTC asset and list it and convince people that you really do have the BTC and you really will redeem it when they want and then sell it on the AE.

The 1000 NXT fee will discourage the second approach as issuing and maintaining any real asset is a lot of work and should not be undertaken lightly. If it only cost a few NXT, then some people will try to issue their own assets and it will become quite a mess.

Look at the work Anon136 is putting in for his silver asset. There are entire companies that are being created to become an asset!

James

Ok, Thank you for explanation. But what about other "universal" assets, which is not related with cryptos and gateways? For example, I want to trade "salt" in AE. I issue asset "salt" with quantity of 1000. Sometime all 1000 of "salt" is sold, and I want to add "more" salt to AE. It will be "Salt1"? What if my competitor also has the same "salt" and wants to trade it in AE?

While debate about asset naming started, could somebody answer and/or explain my thoughts?
You should have issued enough assets to cover all the salt you thought you would ever use and put the issued but uncollateralized assets in holding. Maybe I need to create an asset holding service to allow people to do incremental issuing of assets. That would make it much easier to do this without being accused of fractional reserving

It seems that decisions are being made behind closed doors against my advice on the Asset Naming and we are about to get identical names implemented, even though we can never go back from that. We could always do the reverse, but it seems that I am too busy coding now that I am out of the loop on the key decisions.

So, your Salt will appear as Salt 72857 and competitors salt will be Salt 94893 and that will magically instill an urge into every salt purchaser to conduct a due diligence research into which Salt is better and why the price is difference, etc. No chance of it confusing the user at all, we all know how much people like to investigate things thoroughly before they purchase $2 worth of salt

James

Bold part could be a solution. But what about possibility for asset issuer to increase (not decrease) own asset quantity later? Could it somehow harm the whole concept of AE?
chanc3r
Sr. Member
****
Offline Offline

Activity: 952
Merit: 253



View Profile
March 18, 2014, 02:17:06 PM
 #45546



I still say trying to tie the fee to some FIAT is the wrong direction.  Ill say it again - a transactions's fee should be tied to its byte size on the blockchain.  So lets say a NXT transfer is 128bytes, and its fee is .1NXT, so then an AM or alias transaction of size 256bytes should then cost .2NXT, and other transaction types follow the same method of fee determination.  We would determine a "base" transaction that is the smallest possible transaction, and set the .1 NXT fee to it.  (or .01 or .05 or whatever the community decides) and then scale every other transaction's fee to be based on its size compared to the base one.
But no one likes my idea.  Embarrassed

This proposal will require a bit more code; but for the moment I think a straight .1 NXT for all works, as it will encourage more use for now.

+1

First time I have seen this - must have missed it in the hopsepipe first time round - I think this has some merit...
After all NXT is PoS so the growth/demand and resources is all in the chain....

bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 18, 2014, 02:17:41 PM
 #45547


Non-unique Asset names combined with Asset ID (which already exists) as the displayed name. The more I read about it the more I like it. Nxt code change would just be to allow same asset names. The rest is client side dev.

edit: Use the Asset ID and change it to HEX for slightly more convenience, maybe.

It's not the most beautiful solution, but it is straight forward and easy. Where is the problem?
bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 18, 2014, 02:20:21 PM
 #45548

Fee should depend on data size coz it solves a technical problem (spam prevention)
BrianNowhere
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile WWW
March 18, 2014, 02:20:50 PM
 #45549

Simple:

Free market will not allow big arbitrage possibilities, thus making Nxt market cap >= cumulated assets values.

tl;td moon.

edit: Believe me. I studied.  Kiss Grin

So can the price of Nxt skyrocket one day, or not? For those who think that is possible based on the above, is it of no concern that the fees for transacting and assets will be based on a fixed number rather than a percentage that can self adjust based on current value?

If Nxt ever matched the value of current BTC (which can't happen according to CIYAM OPEN and others here) and the transaction fee is the proposed .01 Nxt  then the cost to make a transaction in Nxt would be $6.20 USD It would cost $6.20 to PLACE a buy or sell order on the AE exchange. It would cost $620,000 to issue an asset at the proposed 1000 Nxt fee for issuance.

Even if Nxt only reached LTC heights we're looking at $0.23 or so for transaction fees, which basically makes the idea microtransactions a non-starter.

Supposedly the 1000 Nxt rate is temporary, which is the same thing they said about tollbooths in my state about 40 years ago.


NXT: 4957831430947123625
bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 18, 2014, 02:23:10 PM
 #45550

We are in the middle of discussing fees.

And if we don't discuss it and NXT raises in value, it is obvious that the devs will lower it more.

I don't get your post Huh
wesleyh
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
March 18, 2014, 02:24:35 PM
 #45551



Allowing the issuance of assets with the same name will most probably hinder us to sell our assets on the Nxt AE as we don´t want to have anyone creating assets with the same name as ours. We will work hard to get our shit together and to convince the community that our shares are worth buying, but if anyone can come and issue assets with the same name, we will most probably not use Nxt as scamming would harm our reputation, too.


EDIT: I am talking about a real life project we would like to fund using Nxt.


if we have a verification system there should be no issue, right? (with non unique names)
Damelon
Legendary
*
Offline Offline

Activity: 1092
Merit: 1010



View Profile
March 18, 2014, 02:27:34 PM
 #45552

Simple:

Free market will not allow big arbitrage possibilities, thus making Nxt market cap >= cumulated assets values.

tl;td moon.

edit: Believe me. I studied.  Kiss Grin

So can the price of Nxt skyrocket one day, or not? For those who think that is possible based on the above, is it of no concern that the fees for transacting and assets will be based on a fixed number rather than a percentage that can self adjust based on current value?

If Nxt ever matched the value of current BTC (which can't happen according to CIYAM OPEN and others here) and the transaction fee is the proposed .01 Nxt  then the cost to make a transaction in Nxt would be $6.20 USD It would cost $6.20 to PLACE a buy or sell order on the AE exchange. It would cost $620,000 to issue an asset at the proposed 1000 Nxt fee for issuance.

Even if Nxt only reached LTC heights we're looking at $0.23 or so for transaction fees, which basically makes the idea microtransactions a non-starter.

Supposedly the 1000 Nxt rate is temporary, which is the same thing they said about tollbooths in my state about 40 years ago.

Who has ever said the fees can't change to match the situation?

Because that is what this is predicated on.

Member of the Nxt Foundation | Donations: NXT-D6K7-MLY6-98FM-FLL5T
Join Nxt Slack! https://nxtchat.herokuapp.com/
Founder of Blockchain Workspace | Personal Site & Blog
igmaca
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
March 18, 2014, 02:27:45 PM
 #45553

If POS isn't profitable and owning Nxt is not profitable and only owning assets are profitable, no one will be around to develop the asset owning system into the future.

The future is not something we can easily predict - but if you have a choice of two platforms:

1. Fee of 1%
2. Fee of 0.01 USD

which are users going to "flock to"?

In the end it is only the "users" that matter - not peoples wishes and desires to "get rich".


*sigh*  ill say it again.  I've had just a few people back me up, but no one yet to say why its a bad idea, if it truly is...

I view the fee as a blockchain spam deterrent, any possible ROI is secondary IMHO.  We don't have any major activity on the blockchain at the moment.  All is relatively quiet, but that will change as services are added and merchants begin to use NXT for payment.  After only a few short months of very little activity the full blockchain is already over 50 megs on disk.

I think the fee should only be changed if the price of NXT goes up significantly.  My 0.25 NXT minimum fee vote was based on the thought of 1 NXT going to the stable range of $0.15 to ~$0.30 cents US in the next six months.

I still say trying to tie the fee to some FIAT is the wrong direction.  Ill say it again - a transactions's fee should be tied to its byte size on the blockchain.  So lets say a NXT transfer is 128bytes, and its fee is .1NXT, so then an AM or alias transaction of size 256bytes should then cost .2NXT, and other transaction types follow the same method of fee determination.  We would determine a "base" transaction that is the smallest possible transaction, and set the .1 NXT fee to it.  (or .01 or .05 or whatever the community decides) and then scale every other transaction's fee to be based on its size compared to the base one.
But no one likes my idea.  Embarrassed

This proposal will require a bit more code; but for the moment I think a straight .1 NXT for all works, as it will encourage more use for now.

the value of the fee should obey two criteria

to deter spam.
to maintain and secure decentralized network with the lowest cost of energy.
Komputor
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
March 18, 2014, 02:29:11 PM
 #45554


With NXT everyone can make progress in their own desired direction.
That is the power of decentralization. Nobody to dictate what can and cant be done
I know if I had to get approval for many of my ideas, they would pretty much all get shot down.
James

+ 1440
Like probably most people here, I work in a gigantic centralized corporation and every time i catch up with the developments in this decentralized next ecosystem, the obvious benefit of a decentralized working culture hits me. In a centralized environment, new ideas and concepts are subject to the approval/whims/fancies of a few people. In a decentralized work environment, new ideas and concepts are subject to the proving grounds.. if it is proven to work / benefit the decentralized ecosystem, it will get implemented!! Decentralized systems mimic nature in some way.. think fractals, think organisms.. okay maybe that is too far out.
Fantastic work and my sincere RESPECT to all the doers in this awesome community!!
mcjavar
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile
March 18, 2014, 02:30:19 PM
 #45555



Allowing the issuance of assets with the same name will most probably hinder us to sell our assets on the Nxt AE as we don´t want to have anyone creating assets with the same name as ours. We will work hard to get our shit together and to convince the community that our shares are worth buying, but if anyone can come and issue assets with the same name, we will most probably not use Nxt as scamming would harm our reputation, too.


EDIT: I am talking about a real life project we would like to fund using Nxt.


if we have a verification system there should be no issue, right? (with non unique names)

Well, I thin kthat the average user will go after the name...
I see some discussions between friends:
"I bought ABC shares on Nxt"
"Really? Cool! I will also buy one when I get home."
"But take care as there are hundreds of shares with the same name..."

This IS confusing..isn´t it?
Anyway, looking forward to the decision of the wise counsel.
farl4web
Legendary
*
Offline Offline

Activity: 1205
Merit: 1000



View Profile
March 18, 2014, 02:31:22 PM
 #45556


So can the price of Nxt skyrocket one day, or not? For those who think that is possible based on the above, is it of no concern that the fees for transacting and assets will be based on a fixed number rather than a percentage that can self adjust based on current value?

If Nxt ever matched the value of current BTC (which can't happen according to CIYAM OPEN and others here) and the transaction fee is the proposed .01 Nxt  then the cost to make a transaction in Nxt would be $6.20 USD It would cost $6.20 to PLACE a buy or sell order on the AE exchange. It would cost $620,000 to issue an asset at the proposed 1000 Nxt fee for issuance.

Even if Nxt only reached LTC heights we're looking at $0.23 or so for transaction fees, which basically makes the idea microtransactions a non-starter.

Supposedly the 1000 Nxt rate is temporary, which is the same thing they said about tollbooths in my state about 40 years ago.



The fee can always be adjusted to the situation, just as we are planning to change it to 0.1 NXT. No worries.
Daedelus
Hero Member
*****
Offline Offline

Activity: 574
Merit: 500



View Profile
March 18, 2014, 02:32:22 PM
 #45557


I think the key is that the fees to ensure NXT network only Nxt coins must be used.



If you mean:

The key is that the fees to use the Nxt network can only be paid using NXT coins (tokens).

Then THIS! As they say.


Then we have a finger in every pie, taking a tiny slice but (years from now) there will be hundreds of thousands of pies and millions (billions) of transactions.

Someone comes in a buys Doge for BTC (+0.1 nxt fee), someone sells NEM for NEX (+0.1nxt fee), Someone buys BTC for DOGE (+0.1nxt fee) etc etc. We are effectively be backing all cryptos and we don't care which of them fail and which succeed because we are the platform it is all done on. We will still be here when they have all gone.

How many transactions happen everyday to move the prices of ALL the coins on CoinMarketCap? What if we captured 10% of this. 50%? 100?!! (Now I really am dreaming). Well why wouldn't we? We have the lowest fees around. And this is only considering Nxt when confined just to the Crypto world and no other asset class.

There is a point where Nxt becomes unattractive if the price rises. We have room to maneuvere to lower our fees so the market is still getting x transactions per Nxt it wants.

There may be a point, a few years down the line, where Nxt is unattractive AND we can't control spam by any lowering the fees anymore BUT

i) Nxt will be worth much more than 5cents in my humble opionion (so everyone here will be happy);
More importantly:
ii) We have devs and intelligent people now who are already considering these problems now (something with the word hash in the name, not pool related).


In December, I *confess* (sorry guys) I bought my first Nxt, hoping for a quick pop just becasue Nxt was different to the rest. Then I learned about TF, AE, 1000 TPS, Parallel chains where my brain melted and my heartrate quickened at the POTENTIAL of Nxt. That was my conversion.

Things have only got better since then. The real risk is can these things be delivered? Nothing is a given, there still are huge risks but we all knew that when we got into cryptos right?  Wink

I am very pleased with the devs we have and all those who have poured time into Nxt. KEEP IT UP.
lucky88888
Sr. Member
****
Offline Offline

Activity: 404
Merit: 250


https://nxtforum.org/


View Profile
March 18, 2014, 02:33:01 PM
 #45558

i bought a lottery ticket, if i win big i will invest in nxt!
 Grin

Fuck Mt.Gox! Fuck Mintpal! Fuck Bter! FUCK kyc! Protect yourself use MGW! SUPERNET!
Recommended ASSET ->InstantDex : Lead Dev Jl777 (decentralized multi currency instant exchange)
Recommended ASSET -> Jinn : Lead Dev Come-from-Beyond (ternary processors!)
https://nxtforum.org/news-and-announcements/(ann)-jinn/
BrianNowhere
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile WWW
March 18, 2014, 02:34:36 PM
 #45559


It seems that decisions are being made behind closed doors against my advice on the Asset Naming and we are about to get identical names implemented, even though we can never go back from that. We could always do the reverse, but it seems that I am too busy coding now that I am out of the loop on the key decisions.

So, your Salt will appear as Salt 72857 and competitors salt will be Salt 94893 and that will magically instill an urge into every salt purchaser to conduct a due diligence research into which Salt is better and why the price is difference, etc. No chance of it confusing the user at all, we all know how much people like to investigate things thoroughly before they purchase $2 worth of salt

James

I guess decentralized development is great, until it's not.  I have really been confused by this notion that because the idea is for a decentralized exchange that development should also be decentralized. Didn't BcNext hisself decide to code alone (centralization) in the beginning because of crap like we see here every day?

There's good stuff happening, but this decentralized everything idea is a bad one. Cancer is decentralized. The cure could never be.

NXT: 4957831430947123625
opticalcarrier
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
March 18, 2014, 02:37:51 PM
 #45560

Fee should depend on data size coz it solves a technical problem (spam prevention)

OK a few more people chiming in... good lets get some traction.  Do we know what the smallest possible size transaction is?  Assuming that it is 128bytes like a NXT transfer is, IMO we need something even smaller than .1 NXT, I would prefer at least .01 NXT as smallest possible amount, then scaling up from there.  But that is a different conversation on the base transfer size/fee ratio is.

And another thing, Im glad that it looks like we are going the direction where an assetID is what is unique, not the text.  This will prevent squatting.  And, Im also in favor of reducing the asset purchase fee to correlate with the size/fee ratio we come up with, but this will require us to dramatically increase the number of digits used to identify each asset - possibly just moving to hex even.  The non unique names and increased number of possible assets will accomplish multiple needed things for us:

1) prevent squatting
2) reduce fee for asset, effectively also untie'ing its fee from fiat, and moving it equivalent to the rest of NXT, based on its size in blockchain.
3) overcome spam.
Pages: « 1 ... 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 [2278] 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 ... 2557 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!