start implement barriers