session as a separate thing - needs styling; correctly handles keypress toggling