added other pixel type support