user-friendly working functions