fully implemented create functionality