moved rules into structing