compile with hidden visibility