framework: occupy