updated design and added will_paginate