basic structure inplace