add view options, refactor, style