added basic working framework