static analysis stuff