add basic operates