partial refactor and friendly forward specs