solution skeleton and core objects