first option and user options.
attachment implementation (not final)