some code split into ligical bits