added strict and warnings