refactored types for annotations and created packages