add basic features. not tested yet