add better code