adding basic structure, modify it and add new things as you like