the bugs never end! null check