clean version
final project