Moved logic from Market Writer to abstract