[wip] need to dedicate a lot of time to this. dont have it right now...