changed forms a little and made things a bit more dynamic