idealy malloc should work