various changes to fix some ambiguities, start implementing function calls