now supports Option[T]
updated the test to include Option[T]