more refactor- add contributor
contributor has position
added friend and self