gonna commit this now until jake's thoughts then can change the rest of stuff if is good