started on basic functionality

Need to add error handling of course.