better square detection?