seperated clear logic