Use structs and functionize everything.