update to allow for more element types