added model layer for polymorphic votes