add: basic functionality completed