Updated design and added error messages