split into 3 separate files, defined instructions for ui