bug fixes, add if