refactor: rename objective -> searchType

refactor: Solutions into trait
misspelling: interupt -> interrupt
build.cmd fix strange wuote behaviour