Fix flag mess, add tests