Move implementation parts around.
Move parts of implementation around