final changes 2 (without a database)