Finish this up tomorrow (hopefull)
More readable, at least I think