first push

base functionality