Modified to run under UECIDE