initial tags - this thing needs some serious refactoring