functional, only need look at jbuilder to complete