working on functions.