add allocation lock
Merge branch 'develop' into feature/alloclock
improve allocation lock
Merge branch 'feature/alloclock' into develop