Test coverage improvement

Added a whole bunch of tests, fixed some docs and edge cases.
Was this intended to check for absent weights and not scale in that case?