refactor get and options