introduce a custom model controller lock
wip