For Practice. Done in 2.5 hours