functions and basic structs >.<

MERGED...