proper opperation