backup of working code as i am about to break it