dynamic angular state generation