base user-space functional