see inside for instructions.
again, probably not the best code, but for something simple I didn't add too many features or too much complexity, hence why it looks like... that