use structure's interface