refactored using bindValue