Function semantics

Just made functions a little more specific.