add zoom option
improve setter methods