added id, improved options