Updated spec to make things simpler more flexibile