added on functions