Implement user stories #4, #5 and #6

Please review.