added options framework