things
beware: untested code

other than that, it's probably finished
maybe now