add associations and other methods, need to test