extracted validation logic
splitted validation logic into multiple parts
Merge branch 'interlock-async-validate'