* removed legacy * fixed format * fixed * added some tests, refactored for more coverage * added requested changes * fixed dep * fixed * fixed * fixed