implementing more gui functionality with forced logic