too many changes
first stable commit