added funny stuff using cast operator