implementing usage