initial commit post forking from peltonen