Some more stuff moved to abstract class.