implementing base structure