Removed typedef and fixed include recursion