extending options to object should happen first so other functions have proper references