basic operations added