scratching together ideas and basic functionality