Interactive GUI and improved readability

GUI is fully interactive and an attempt to improve readability was made
with added comments and better variable names.