refactored contribute and updated views