added basic functions