start of CLI implementation