implemented enum... why need unless block given?