Update for better polymorfism