trick words + major refactor