cleaned up join class