more work, currently crashes and needs lots of work