Start reworking common function logic