seperate record logic and view logic
separate record logic and view logic