Completed noAjax version