re-refactor almost dun. in the meantime, have some psychedelia :)