Not pretty but it works!