logic is very very brittle