price can be null