Relocated clases and some extra abstraction