add basic operations