framework: occupy

@fengjingchao This works. need some refactoring. 
return error?