modernize
move rule
more tests. still broken