minor refactor; moved some methods around (order; readability); more column is None checks