more groundwork, implement basic front end interfacing