Add bitboard
Refactor tests
Generalize tests