added everything and finished product