Makes code easier to modify behaviour and adds README