why do i need the constructor, wtf