attempting from a c perspective