Add support for :port option