Final version after testing