modulerizing functions