handling extensions