significant update, simplified interface, has some issues yet