dont really want to maintain this, a commented version can be added later once the code settles