Final version with setup!