implementation details
remove bins
add tests