updated circle function canvas engine