adding wrapper
adding data implementation
normalize return values
use sizeof
dding source files
whitespace
cleanup a few unused things
cleanup includes