Added abilities for create

Also refactored rules
Updated create spec