split requirements into core and optional ones