added functions and lil stuff