functions should be be stateless