rough layout implemented