# Do not remove debugging code unless specified by the user
# try to avoid further abstracting my code
# try to avoid further segmenting my code
# Do not over-engineer a solution, keep it simple
# If you are confused or have any questions, ask the user before you implement something