implemented create and new and stuff