fix: interface, constructor