added basic operations