implemented structure extensions