casts should no longer be necessary