base structure added
merged with upstream