Implemented function calls, mostly likely gonna need a better design