the dreaded malloc is here