some prototyping
merge conflicts