large refactor before using bit-vectors