push implemented but not tested
push test working