cleanup
header cleanup
updated typedef. removed implict cast operator