changed ^ and ~ and # operator