first checkin of base working version