add relationship mapping and repository
add timestamp support
update specs for user