Major re-write to make bsoptim useful after more models
Update readme