After 9 hours of coding. This is what I've got.