added better docs + compiler