initial implementation
prep for release