initial implementation of scull driver