type-cast to interface here