bug fix, no more awakeFromNib, use initWithCoder